#ifndef __MARS_CORE_FILE_SYS_MGR_H__
#define __MARS_CORE_FILE_SYS_MGR_H__

#include "MarsObject.h"

namespace Core
{

class FileSysMgr : public Object
{
public:
									~FileSysMgr();

	bool							Initialize();
	void							Shutdown();

	static FileSysMgr&				Instance();
	static void						Destroy();

	bool							LoadFileContent( const std::string& filename, std::string& strContent );

private:
									FileSysMgr();
									FileSysMgr( const FileSysMgr& );
	FileSysMgr&						operator = ( const FileSysMgr& );

	static FileSysMgr*				ms_pFileSysMgr;
};

inline FileSysMgr& FileSysMgr::Instance()
{
	if ( !ms_pFileSysMgr )
	{
		ms_pFileSysMgr = new FileSysMgr();
	}

	return ( *ms_pFileSysMgr );
}

} // end of namespace Core

#endif // end of #ifndef __MARS_CORE_FILE_SYS_MGR_H__